Add settings for titlebar actions
authorMatthias Clasen <mclasen@redhat.com>
Thu, 25 Sep 2014 05:24:44 +0000 (01:24 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 25 Sep 2014 18:54:02 +0000 (14:54 -0400)
These match the GSettings that mutter/metacity/gnome-shell have
for this. We change the default for the middle-click action to
none, since lower is just a terrible default.

We're slightly bending the rules here, since we're adding new
settings after .0, but a) it is just barely after .0, and b) settings
are not really application API.

https://bugzilla.gnome.org/show_bug.cgi?id=729782

gtk/gtksettings.c

index 6f69576c4246687f78f5cc64dc3f6fef39cde908..2cb6a8151e7d899ab38673f33492e78c8a825fe9 100644 (file)
@@ -209,6 +209,9 @@ enum {
   PROP_SHELL_SHOWS_MENUBAR,
   PROP_SHELL_SHOWS_DESKTOP,
   PROP_DECORATION_LAYOUT,
+  PROP_TITLEBAR_DOUBLE_CLICK,
+  PROP_TITLEBAR_MIDDLE_CLICK,
+  PROP_TITLEBAR_RIGHT_CLICK,
   PROP_DIALOGS_USE_HEADER,
   PROP_ENABLE_PRIMARY_PASTE,
   PROP_RECENT_FILES_ENABLED,
@@ -1570,6 +1573,66 @@ gtk_settings_class_init (GtkSettingsClass *class)
                                              NULL);
   g_assert (result == PROP_DECORATION_LAYOUT);
 
+  /**
+   * GtkSettings:gtk-titlebar-double-click:
+   *
+   * This setting determines the action to take when a double-click
+   * occurs on the titlebar of client-side decorated windows.
+   *
+   * Recognized actions are minimize, toggle-maximize, menu, lower
+   * or none.
+   *
+   * Since: 3.14.1
+   */
+  result = settings_install_property_parser (class,
+                                             g_param_spec_string ("gtk-titlebar-double-click",
+                                                                  P_("Titlebar double-click action"),
+                                                                   P_("The action to take on titlebar double-click"),
+                                                                   "toggle-maximize", GTK_PARAM_READWRITE),
+                                             NULL);
+  g_assert (result == PROP_TITLEBAR_DOUBLE_CLICK);
+
+  /**
+   * GtkSettings:gtk-titlebar-middle-click:
+   *
+   * This setting determines the action to take when a middle-click
+   * occurs on the titlebar of client-side decorated windows.
+   *
+   * Recognized actions are minimize, toggle-maximize, menu, lower
+   * or none.
+   *
+   * Since: 3.14.1
+   */
+  result = settings_install_property_parser (class,
+                                             g_param_spec_string ("gtk-titlebar-middle-click",
+                                                                  P_("Titlebar middle-click action"),
+                                                                   P_("The action to take on titlebar middle-click"),
+                                                                   "none", GTK_PARAM_READWRITE),
+                                             NULL);
+  g_assert (result == PROP_TITLEBAR_MIDDLE_CLICK);
+
+  /**
+   * GtkSettings:gtk-titlebar-right-click:
+   *
+   * This setting determines the action to take when a right-click
+   * occurs on the titlebar of client-side decorated windows.
+   *
+   * Recognized actions are minimize, toggle-maximize, menu, lower
+   * or none.
+   *
+   * Since: 3.14.1
+   */
+  result = settings_install_property_parser (class,
+                                             g_param_spec_string ("gtk-titlebar-right-click",
+                                                                  P_("Titlebar right-click action"),
+                                                                   P_("The action to take on titlebar right-click"),
+                                                                   "menu", GTK_PARAM_READWRITE),
+                                             NULL);
+  g_assert (result == PROP_TITLEBAR_RIGHT_CLICK);
+
+
+
+
   /**
    * GtkSettings:gtk-dialogs-use-header:
    *